package cn.cttic.order.api.domain.vo;

import java.util.Date;

import cn.cttic.common.translation.annotation.Translation;
import cn.cttic.common.translation.constant.TransConstant;
import cn.cttic.order.api.domain.BaseFilings;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 备案信息视图对象 base_filings
 *
 * @author Times.Studio
 * @date 2024-09-30
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BaseFilings.class)
public class BaseFilingsVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 标识
     */
    @ExcelProperty(value = "标识")
    private String id;

    /**
     * 标识
     */
    private String saleOrderId;

    /**
     * 标识
     */
    private String installOrderId;

    /**
     * 客户名称
     */
    @ExcelProperty(value = "客户名称")
    private String customerName;

    /**
     * 客户手机号
     */
    @ExcelProperty(value = "客户手机号")
    private String customerPhone;

    /**
     * 客户车牌号
     */
    @ExcelProperty(value = "客户车牌号")
    private String carNo;
    private String imei;

    /**
     * 产品套餐
     */
    @ExcelProperty(value = "产品套餐")
    private String productName;
    private String deviceName;
    private String deviceModel;

    /**
     * 销售渠道名称
     */
    @ExcelProperty(value = "销售渠道名称")
    private String saleChannelName;
    private String saleChannelTypeName;
    private String salesManName;

    /**
     * 安装渠道名称
     */
    @ExcelProperty(value = "安装渠道名称")
    private String installChannelName;
    private String installChanneTypeName;

    /**
     * 安装员名称
     */
    @ExcelProperty(value = "安装员名称")
    private String installManName;

    /**
     * 近一次上线时间
     */
    @ExcelProperty(value = "近一次上线时间")
    private Date lastOnlineTime;

    /**
     * 接入时间
     */
    @ExcelProperty(value = "接入时间")
    private Date onlineTime;

    /**
     * 激活时间
     */
    @ExcelProperty(value = "激活时间")
    private Date activeTime;

    /**
     * 验收状态
     */
    @ExcelProperty(value = "验收状态")
    private Integer reviewStatus;

    /**
     * 验收状态
     */
    @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "reviewStatus", other = "dict_review_status")
    private String reviewStatusName;

    /**
     * 验收时间
     */
    @ExcelProperty(value = "验收时间")
    private Date reviewTime;

    /**
     * 验收状态
     */
    @ExcelProperty(value = "验收状态")
    private Integer verifyStatus;

    /**
     * 验收状态
     */
    @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "verifyStatus", other = "dict_verify_status")
    private String verifyStatusName;

    /**
     * 验收时间
     */
    @ExcelProperty(value = "验收时间")
    private Date verifyTime;
    @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "checkStatus", other = "dict_check_status")
    private String checkStatusName;
    private Integer checkStatus;
    private Date checkTime;


}
